package com.itestor.iptv.modules.common.actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.itestor.iptv.exceptions.ApplicationException;
import com.itestor.iptv.global.GlobalConstant;
import com.itestor.iptv.modules.common.CommonConstant;
import com.itestor.iptv.modules.common.bean.RecordModeConfigBean;
import com.itestor.iptv.modules.common.service.RobotConfigService;
import com.itestor.iptv.utils.SystemHelper;

/**
 * 
 * @author Mr.li
 * 
 */
public class RobotRecordModeModifyAction extends Action {

    /**
     * Logger for this class.
     */
    private static final Logger logger = Logger
            .getLogger(RobotRecordModeModifyAction.class);

    /**
     * 
     */
    public transient RobotConfigService robotConfigService;

    /**
     * @param mapping struts mapping
     * @param request request
     * @param form action form
     * @param response response
     * @return action forward
     * @throws Exception any exception
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String movCapTime = request.getParameter("movCapTime");
        String recordMode = request.getParameter("recordMode");
        String capFormat = request.getParameter("capFormat");
        String videoQuanlity = request.getParameter("videoQuanlity");
        String capInterval = request.getParameter("capInterval");
        String jpegQuality = request.getParameter("jpegQuality");

        RecordModeConfigBean bean = new RecordModeConfigBean();
        bean.setCapFormat(capFormat);
        bean.setCapInterval(capInterval);
        bean.setJpegQuality(jpegQuality);
        bean.setMovCapTime(movCapTime);
        bean.setRecordMode(recordMode);
        bean.setVideoQuanlity(videoQuanlity);

        try {
            robotConfigService.modifyRecordModeConfigBean(bean);
        } catch (Exception e) {
            throw new ApplicationException("robot.recordmode.config.error",CommonConstant.PROPERTIES_BUNDLE);
        }
        
        SystemHelper.addMessage(request, "robot.recordmode.update.success", CommonConstant.PROPERTIES_BUNDLE);

        return mapping.findForward(GlobalConstant.FORWARD_SUCCESS);
    }

    /**
     * @param pRobotConfigService
     */
    public void setRobotConfigService(RobotConfigService pRobotConfigService) {
        robotConfigService = pRobotConfigService;
    }

}
